Enterprise software systems are typically sophisticated, large-scale systems that support many, e.g., hundreds or thousands, of concurrent users. Examples of enterprise software systems include financial planning systems, budget planning systems, order management systems, inventory management systems, sales force management systems, business intelligence tools, enterprise reporting tools, project and resource management systems, and other enterprise software systems.
Many enterprise performance management and business planning applications require a large base of users to enter data that the software then accumulates into higher level areas of responsibility in the organization. Moreover, once data has been entered, it must be retrieved to be utilized. The system may perform mathematical calculations on the data, combining data submitted by many users. Using the results of these calculations, the system may generate reports for review by higher management. Often these complex systems make use of multidimensional data sources that organize and manipulate the tremendous volume of data using data structures referred to as data cubes. Each data cube, for example, includes a plurality of hierarchical dimensions having levels and members for storing the multidimensional data.
Business intelligence (BI) systems may be used to provide insights into such collections of enterprise data. In BI applications and other contexts, users often need to build models that define the structure of Online Analytical Processing (OLAP) data sources. A core part of the data modeling exercise is defining hierarchies from existing data. Trying to define a hierarchy may generally involve looking at a collection of data and trying to understand the relationships between the data. Many times, the relationships between the data are not obvious based on column names or even based on the data itself. Even if a user is familiar with the data, the user will still typically need to look at the data for reminders and clues of how the various data is related.
Some data modeling applications allow a user to view the data in a standard list format. This may be useful, at least for relatively small numbers of rows of data and not many repeating values. To deal with more complex cases, data modelers generally use a database querying tool to issue database queries (e.g., SQL queries) to filter, sort and count the data.